module Base
{
	model fhqV140MZBase
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqV140MZExh
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140Exh_Stock,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZMirrorL
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140_MirrorL,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZMirrorR
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140_MirrorR,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZWipers
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140Wipers,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZHoodBadge
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140Badge,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZPlateF
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140_PlateF,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqV140MZPlateR
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140_PlateR,
		shader = vehicle_multiuv,
		invertX = FALSE,
		scale = 0.47,
	}
	
	
	model fhqW140MZBadge_300SD
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140_badges_300D,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZBadge_400SE
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqW140_400SEBadge,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZBadge_500SE
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140_badges_500,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZBadge_600SE
	{
		mesh = vehicles/vehicle_fhq_MZ_w140|fhqW140_badges_600,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	
	model fhqW140MZBadge_400SEL
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140_badges_400,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZBadge_500SEL
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140_badges_rear,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZBadge_600SEL
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140_badges_600,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	model fhqW140MZBadge_800SEL
	{
		mesh = vehicles/vehicle_fhq_MZ_v140|fhqV140_badges_800SEL,
		shader = basicEffect,
		invertX = FALSE,
		scale = 0.47,
	}
	
	template vehicle fhqMZ_V140
	{
		mechanicType = 3,
		offRoadEfficiency = 0.8,
		engineRepairLevel = 5,
		playerDamageProtection = 0.7,

		model
		{
			file = fhqV140MZBase,
			scale = 1.8200,
			offset = 0.0000 -0.0220 0.0989,
		}

		spawnOffsetY = 0.12999995,

		extents = 0.8901 0.5824 2.4286,
		mass = 1000,
		physicsChassisShape = 0.8901 0.5824 2.4286,
		centerOfMassOffset = 0.0000 0.2967 0.0000,
		shadowExtents = 0.8992 2.5498,
		shadowOffset = 0.0000 0.0000,
		engineForce = 5250,
		engineLoudness = 75,
		engineQuality = 75,
		maxSpeed = 110f,
		gearRatioCount = 4,
		stoppingMovementForce = 2.0f,
		rollInfluence = 0.7f,
		steeringIncrement = 0.04,
		steeringClamp = 0.3,
		suspensionStiffness = 30,
		suspensionCompression = 2.0,
		suspensionDamping = 2.2,
		maxSuspensionTravelCm = 15,
		suspensionRestLength = 0.3f,
		wheelFriction = 1.8f,
		frontEndHealth = 150,
		rearEndHealth = 150,
		seats = 4,

		wheel FrontLeft
		{
			front = true,
			offset = 0.3681 0.0165 0.7088,
			radius = 0.15f,
			width = 0.30f,
		}

		wheel FrontRight
		{
			front = true,
			offset = -0.3681 0.0165 0.7088,
			radius = 0.15f,
			width = 0.30f,
		}

		wheel RearLeft
		{
			front = false,
			offset = 0.3681 0.0165 -0.7637,
			radius = 0.15f,
			width = 0.30f,
		}

		wheel RearRight
		{
			front = false,
			offset = -0.3681 0.0165 -0.7637,
			radius = 0.15f,
			width = 0.30f,
		}

		template = PassengerSeat4,

		passenger FrontLeft
		{
			position inside
			{
				offset = 0.1538 0.2143 -0.0934,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 0.5989 -0.1484 -0.0989,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontLeft,
			}
		}

		passenger FrontRight
		{
			position inside
			{
				offset = -0.1538 0.2143 -0.0934,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -0.5989 -0.1484 -0.0989,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontRight,
			}
		}

		passenger RearLeft
		{
			position inside
			{
				offset = 0.1593 0.2143 -0.5385,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 0.5989 -0.1484 -0.5110,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatRearLeft,
			}
		}

		passenger RearRight
		{
			position inside
			{
				offset = -0.1593 0.2143 -0.5385,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -0.5989 -0.1484 -0.5055,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatRearRight,
			}
		}

		area Engine
		{
			xywh = 0.0000 1.4286 0.8901 0.4286,
		}

		area TruckBed
		{
			xywh = 0.0000 -1.4286 0.8901 0.4286,
		}

		area SeatFrontLeft
		{
			xywh = 0.6923 0.1703 0.4945 0.4945,
		}

		area SeatFrontRight
		{
			xywh = -0.6923 0.1703 0.4945 0.4945,
		}

		area SeatRearLeft
		{
			xywh = 0.6923 -0.3626 0.4945 0.4945,
		}

		area SeatRearRight
		{
			xywh = -0.6923 -0.3681 0.4945 0.4945,
		}

		area GasTank
		{
			xywh = -0.6703 -0.7418 0.4505 0.4505,
		}

		area TireFrontLeft
		{
			xywh = 0.6703 0.7802 0.4505 0.4505,
		}

		area TireFrontRight
		{
			xywh = -0.6703 0.7802 0.4505 0.4505,
		}

		area TireRearLeft
		{
			xywh = 0.6703 -0.6593 0.4505 0.4505,
		}

		area TireRearRight
		{
			xywh = -0.6703 -0.6593 0.4505 0.4505,
		}

		template = TrunkDoor,

		part TrunkDoor
		{
			anim Open
			{
				sound = VehicleTrunkOpenSportsCar,
			}

			anim Close
			{
				sound = VehicleTrunkCloseSportsCar,
			}

			anim Lock
			{
				sound = LockVehicleDoorSportsCar,
			}

			anim Unlock
			{
				sound = UnlockVehicleDoorSportsCar,
			}

			anim IsLocked
			{
				sound = VehicleDoorIsLockedSportsCar,
			}

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
			
			model Default
			{
				file = fhqV140MZPlateR,
			}
		}

		template = Trunk/part/TruckBed,

		part TruckBed
		{
			itemType = Base.BigTrunk,
		}

		template = Seat/part/SeatFrontLeft,
		template = Seat/part/SeatFrontRight,
		template = Seat/part/SeatRearLeft,
		template = Seat/part/SeatRearRight,

		part Seat*
		{
			table install
			{
				skills = Mechanics:2,
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				skills = Mechanics:2,
				recipes = Advanced Mechanics,
			}
		}

		template = GloveBox,

		part GloveBox
		{
			model FrontPlate
			{
				file = fhqW140MZPlateF,
			}
		}

		template = GasTank,

		part GasTank
		{
			install
			{
				recipes = Advanced Mechanics,
			}

			uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Battery,
		template = Engine,
		template = Muffler,

		part Muffler
		{
			model Default
			{
				file = fhqV140MZExh,
			}

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = EngineDoor,

		part EngineDoor
		{
			anim Open
			{
				sound = VehicleHoodOpenSportsCar,
			}

			anim Close
			{
				sound = VehicleHoodCloseSportsCar,
			}

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}

			model Default
			{
				file = fhqW140MZHoodBadge,
			}
		}

		part Heater
		{
			category = engine,

			lua
			{
				update = Vehicles.Update.Heater,
			}
		}

		part PassengerCompartment
		{
			category = nodisplay,

			lua
			{
				update = Vehicles.Update.PassengerCompartment,
			}
		}

		template = Windshield/part/Windshield,

		part Windshield
		{
			model Default
			{
				file = fhqW140MZWipers,
			}
		}

		template = Windshield/part/WindshieldRear,

		part Windshield*
		{
			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Window/part/WindowFrontLeft,
		template = Window/part/WindowFrontRight,
		template = Window/part/WindowRearLeft,
		template = Window/part/WindowRearRight,

		part Window*
		{
			anim Open
			{
				sound = VehicleWindowElectricOpen,
			}

			anim Close
			{
				sound = VehicleWindowElectricClose,
			}

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Door/part/DoorFrontLeft,

		part DoorFrontLeft
		{
			model Default
			{
				file = fhqW140MZMirrorL,
			}
		}

		template = Door/part/DoorFrontRight,

		part DoorFrontRight
		{
			model Default
			{
				file = fhqW140MZMirrorR,
			}
		}

		template = Door/part/DoorRearLeft,
		template = Door/part/DoorRearRight,

		part Door*
		{
			anim Open
			{
				sound = VehicleDoorOpenSportsCar,
			}

			anim Close
			{
				sound = VehicleDoorCloseSportsCar,
			}

			anim Lock
			{
				sound = LockVehicleDoorSportsCar,
			}

			anim Unlock
			{
				sound = UnlockVehicleDoorSportsCar,
			}

			anim IsLocked
			{
				sound = VehicleDoorIsLockedSportsCar,
			}

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Tire,

		part TireFrontLeft
		{
			model InflatedTirePlusWheel
			{
				file = fhqLexusLS400WheelLeft,
			}
		}

		part TireFrontRight
		{
			model InflatedTirePlusWheel
			{
				file = fhqLexusLS400WheelRight,
			}
		}

		part TireRearLeft
		{
			model InflatedTirePlusWheel
			{
				file = fhqLexusLS400WheelLeft,
			}
		}

		part TireRearRight
		{
			model InflatedTirePlusWheel
			{
				file = fhqLexusLS400WheelRight,
			}
		}

		template = Brake,

		part BrakeFrontLeft
		{
			model Default
			{
				file = fhqMZ_BrakeL,
				offset = 0.3681 0.0165 0.7088,
			}
		}

		part BrakeFrontRight
		{
			model Default
			{
				file = fhqMZ_BrakeR,
				offset = -0.3681 0.0165 0.7088,
			}
		}

		part BrakeRearLeft
		{
			model Default
			{
				file = fhqMZ_BrakeL_PadR,
				offset = 0.3681 0.0165 -0.7637,
				rotate = 0.0000 180.0000 0.0000,
			}
		}

		part BrakeRearRight
		{
			model Default
			{
				file = fhqMZ_BrakeR_PadR,
				offset = -0.3681 0.0165 -0.7637,
				rotate = 0.0000 180.0000 0.0000,
			}
		}

		part Brake*
		{
			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Suspension,

		part SuspensionFrontLeft
		{
			model Default
			{
				file = fhqMZ_SuspL,
				offset = 0.3681 0.0165 0.7088,
			}
		}

		part SuspensionFrontRight
		{
			model Default
			{
				file = fhqMZ_SuspR,
				offset = -0.3681 0.0165 0.7088,
			}
		}

		part SuspensionRearLeft
		{
			model Default
			{
				file = fhqMZ_SuspL,
				offset = 0.3681 0.0165 -0.7637,
			}
		}

		part SuspensionRearRight
		{
			model Default
			{
				file = fhqMZ_SuspR,
				offset = -0.3681 0.0165 -0.7637,
			}
		}

		part Suspension*
		{
			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Radio,
		template = Headlight,

		attachment trailer
		{
			offset = 0.0000 0.1484 -1.3187,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = -1.0000,
		}

		attachment trailerfront
		{
			offset = 0.0000 0.1264 1.1154,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = 1.0000,
		}
	}
	
	template vehicle fhqMZ_V140_400SEL
	{
		template! = fhqMZ_V140,
		
		engineRPMType = van,
		
		textureMask = Vehicles/vehicle_fhqMZ_V140_mask,
		textureLights = Vehicles/vehicle_fhqMZ_V140_lights,
		textureDamage1Overlay = Vehicles/Veh_Blood_Mask,
		textureDamage2Overlay = Vehicles/Veh_Blood_Hvy,
		textureDamage1Shell = Vehicles/Veh_Damage1,
		textureDamage2Shell = Vehicles/Veh_Damage2,
		textureRust = Vehicles/Veh_Rust,

		sound
		{
			engine = VehicleEngineSportsCar,
			engineStart = VehicleEngineSportsCar,
			engineTurnOff = VehicleEngineSportsCar,
			horn = VehicleHornSportsCar,
			ignitionFail = VehicleIgnitionFailSportsCar,
		}
		
		mass = 1000,
	}
	
	vehicle fhqV140_400SEL
	{
		template! = fhqMZ_V140_400SEL,
		
		skin
		{
			texture = Vehicles/vehicle_fhqMZ_V140_shell,
		}
		
		skin
		{
			texture = Vehicles/vehicle_fhqMZ_V140_2_shell,
		}
		
		skin
		{
			texture = Vehicles/vehicle_fhqMZ_V140_3_shell,
		}
		
		extents = 0.8901 0.5824 2.4286,
		physicsChassisShape = 0.8901 0.5824 2.4286,
		centerOfMassOffset = 0.0000 0.2967 0.0000,
		shadowExtents = 0.8992 2.5498,
		shadowOffset = 0.0000 0.0000,
		
		wheel FrontLeft
		{
			front = true,
			offset = 0.3681 0.0165 0.7088,
			radius = 0.15f,
			width = 0.30f,
		}

		wheel FrontRight
		{
			front = true,
			offset = -0.3681 0.0165 0.7088,
			radius = 0.15f,
			width = 0.30f,
		}

		wheel RearLeft
		{
			front = false,
			offset = 0.3681 0.0165 -0.7637,
			radius = 0.15f,
			width = 0.30f,
		}

		wheel RearRight
		{
			front = false,
			offset = -0.3681 0.0165 -0.7637,
			radius = 0.15f,
			width = 0.30f,
		}
		
		passenger FrontLeft
		{
			position inside
			{
				offset = 0.1538 0.2143 -0.0934,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 0.5989 -0.1484 -0.0989,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontLeft,
			}
		}

		passenger FrontRight
		{
			position inside
			{
				offset = -0.1538 0.2143 -0.0934,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -0.5989 -0.1484 -0.0989,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontRight,
			}
		}

		passenger RearLeft
		{
			position inside
			{
				offset = 0.1593 0.2143 -0.5385,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 0.5989 -0.1484 -0.5110,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatRearLeft,
			}
		}

		passenger RearRight
		{
			position inside
			{
				offset = -0.1593 0.2143 -0.5385,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -0.5989 -0.1484 -0.5055,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatRearRight,
			}
		}
		
		area Engine
		{
			xywh = 0.0000 1.4286 0.8901 0.4286,
		}

		area TruckBed
		{
			xywh = 0.0000 -1.4286 0.8901 0.4286,
		}

		area SeatFrontLeft
		{
			xywh = 0.6923 0.1703 0.4945 0.4945,
		}

		area SeatFrontRight
		{
			xywh = -0.6923 0.1703 0.4945 0.4945,
		}

		area SeatRearLeft
		{
			xywh = 0.6923 -0.3626 0.4945 0.4945,
		}

		area SeatRearRight
		{
			xywh = -0.6923 -0.3681 0.4945 0.4945,
		}

		area GasTank
		{
			xywh = -0.6703 -0.7418 0.4505 0.4505,
		}

		area TireFrontLeft
		{
			xywh = 0.6703 0.7802 0.4505 0.4505,
		}

		area TireFrontRight
		{
			xywh = -0.6703 0.7802 0.4505 0.4505,
		}

		area TireRearLeft
		{
			xywh = 0.6703 -0.6593 0.4505 0.4505,
		}

		area TireRearRight
		{
			xywh = -0.6703 -0.6593 0.4505 0.4505,
		}
		
		part TrunkDoor
		{
			model Badges
			{
				file = fhqW140MZBadge_400SEL,
			}
		}
	}
}
